package com.neighbor.neighborhoodadmin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neighbor.neighborhoodadmin.pojo.Posts;
import com.baomidou.mybatisplus.extension.service.IService;
import com.neighbor.neighborhoodadmin.utils.ResponseMsg;

import java.util.List;

/**
 * <p>
 * 用户帖子表 服务类
 * </p>
 *
 * @author song
 * @since 2025-09-22 09:11:23
 */
public interface IPostsService extends IService<Posts> {

    /**
     * @Description: 获取帖子列表（支持分页、筛选、搜索）
     * @param page 页码
     * @param pageSize 每页大小
     * @param type 帖子类型
     * @param status 帖子状态
     * @param postId 帖子ID，用于精确搜索
     * @param nickname 用户昵称，用于模糊搜索
     * @param isHot 是否热门
     * @return 帖子分页数据
     */
    IPage<Posts> getPosts(Integer page, Integer pageSize, Integer type, Integer status, Integer postId, String nickname);

    /**
     * 根据postId查详细帖子信息
     * @param postId 帖子ID
     * @return ResponseMsg返回数据
     */
    ResponseMsg getPostById(Integer postId);
    /**
     * 根据postId更新帖子状态
     * @param postId 帖子ID
     * @param status 帖子状态
     * @return ResponseMsg返回数据
     */
    ResponseMsg updatePostStatus(Integer postId, Integer status);
    /**
     * 根据postId删除贴子
     * @param postId 帖子ID
     * @return ResponseMsg返回数据
     */
    ResponseMsg deletePost(Integer postId);

    //获取热门贴
    List<Posts> getHots();
}
